<?php
function AuPluriel($pluriel) { // fonction pour mettre au pluriel si superieur à 1
	if($pluriel>1)
	{
		return 's';
	}
}

function Date_fr($date) { // fonction pour mettre au pluriel si superieur à 1
	$date_fr = strtotime($date);
	return date('d-m-Y H:i:s', $date_fr);
}

function saluerheure($time_h) {
	//Afficher des taches différentes selon les heures //
	if ($time_h >= '00' AND $time_h <= '17'){
		return 'Bonjour';
	}
	if ($time_h >= '18' AND $time_h <= '23'){
		return 'Bonsoir';
	}
}

function pourcentage($nombre, $total) { //calcule le pourcentage de
	$resultat = ($nombre/$total) * 100;
	return round($resultat); // Arrondi la valeur
}

function second2string($time) {
	$d = floor($time/86400);
	$d_str = ($d > 0 ? $d.'j ' : '');

	$h = floor(($time-$d*86400)/3600);
	$h_str = ($h > 0 ? $h.'h ' : '');

	$m = floor(($time-($d*86400+$h*3600))/60);
	$m_str = ($m > 0 ? $m.'m ' : '');

	$s = floor($time-($d*86400+$h*3600+$m*60));
	$s_str = ($s > 0 ? $s.'s ' : '');

	$time_str = $d_str.$h_str.$m_str.$s_str;

	return $time_str;
}

function VerifierAdresseMail($adresse) {
	$Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#'; 
	if(preg_match($Syntaxe,$adresse)){
		return true;
	}
	else{
		return false;
	}
}

function codeatoire() { //fonction pour renvoyer un mot code
	$tablettre = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
	mt_srand((float) microtime()*10000);
	$a = mt_rand(0, 9);
	$b = mt_rand(0, 9);
	$c = mt_rand(0, 9);
	$d = mt_rand(0, 9);
	$e = mt_rand(0, 9);
	$f = mt_rand(0, 25);
	$g = mt_rand(0, 25);
	$h = mt_rand(0, 25);
	$i = mt_rand(0, 25);
	$j = mt_rand(0, 25);
 
	$codeatoire =  $a.$tablettre[$f].$b.$tablettre[$g].$c.$tablettre[$h].$d.$tablettre[$i].$e.$tablettre[$j];
	return $codeatoire;
}

function remplaceCode($contenu) {
	// Parsage des balises
	$code_editeur = array(
		'`&lt;gras&gt;(.+)&lt;/gras&gt;`isU',
		'`&lt;italique&gt;(.+)&lt;/italique&gt;`isU',
		'`&lt;lien&gt;(.+)&lt;/lien&gt;`isU',
		'`&lt;souligne&gt;(.+)&lt;/souligne&gt;`isU',
		'`&lt;barre&gt;(.+)&lt;/barre&gt;`isU',
		'`&lt;lien url="(.+)"&gt;(.+)&lt;/lien&gt;`isU',
		'`&lt;centrer&gt;(.+)&lt;/centrer&gt;`isU',
		'`&lt;justifier&gt;(.+)&lt;/justifier&gt;`isU',
		'`&lt;droit&gt;(.+)&lt;/droit&gt;`isU',
		'`&lt;gauche&gt;(.+)&lt;/gauche&gt;`isU',
		'`&lt;image&gt;(.+)&lt;/image&gt;`isU',
		'`&lt;citation nom=&quot;(.+)&quot;&gt;(.+)&lt;/citation&gt;`isU',
		'`&lt;information&gt;(.+)&lt;/information&gt;`isU',
		'`&lt;erreur&gt;(.+)&lt;/erreur&gt;`isU',
		'`&lt;attention&gt;(.+)&lt;/attention&gt;`isU',
		'`&lt;question&gt;(.+)&lt;/question&gt;`isU',
		'`&lt;taille valeur=&quot;(.+)&quot;&gt;(.+)&lt;/taille&gt;`isU',
		'`&lt;couleur nom=&quot;(.+)&quot;&gt;(.+)&lt;/couleur&gt;`isU',
		'`&lt;police nom=&quot;(.+)&quot;&gt;(.+)&lt;/police&gt;`isU'
	);
	
	$html = array(
		'<strong>$1</strong>',
		'<i>$1</i>',
		'<a href="$1">$1</a>',
		'<u>$1</u>',
		'<s>$1</s>',
		'<a href="$1" title="$2">$2</a>',
		'<div align="center">$1</div>',
		'<div align="justify">$1</div>',
		'<div align="right">$1</div>',
		'<div align="left">$1</div>',
		'<img src="$1" alt="Image" />',
		'<br /><span class="citation_titre">$1 :</span><div class="citation">$2</div>',
		'<div class="information"><img src="/editeur/images/boutons/info_g.png" alt="Image"> $1</div>',
		'<div class="erreur"><img src="/editeur/images/boutons/erreur_g.png" alt="Image"> $1</div>',
		'<div class="attention"><img src="/editeur/images/boutons/attention_g.png" alt="Image"> $1</div>',
		'<div class="question"><img src="/editeur/images/boutons/question_g.png" alt="Image"> $1</div>',
		'<span class="$1">$2</span>',
		'<span class="$1">$2</span>',
		'<span class="$1">$2</span>'
	);
	
	$contenu = htmlspecialchars($contenu);
	$contenu = preg_replace($code_editeur, $html, $contenu);
	
	// parsage des smilies
	$nom_smiliey = array(':colere:', ':diable:', ':ange:', ':ninja:', '&gt;_&lt;', ':pirate:', ':zorro:', ':honte:', ':soleil:', ':\'\\(', ':waw:', ':\\)', ':D', ';\\)', ':p', ':lol:', ':euh:', ':\\(', ':o', ':colere2:', 'o_O', '\\^\\^', ':\\-°', ':chinois:', ':charte:', ':bigrin:', ':batman:', ':attention:', ':ange:', ':arf:', ':clown:', ':confiant:', ':content:', ':cool:', ':cool2:', ':cooool:', ':cowboy:', ':decu:', ':diable:', ':dontcare:', ':epee20centmodif:', ':erk:', ':fillette:', ':fleched:', ':fouetbase:', ':gni:', ':grr:', ':grrr:', ':grucho:', ':gun:', ':hehe:', ':hihi:', ':hihi2:', ':hiver:', ':hum:', ':idee:', ':infirmiere:', ':langue:', ':love:', ':malade:', ':malade2:', ':mariee:', ':marin:', ':marrant:', ':mdr:', ':mort:', ':mouais:', ':myope:', ':niark:', ':ninja:', ':nooo:', ':nuage:', ':o:', ':Oo:', ':ouin:', ':oups:', ':penseur:', ':pfff:', ':pirate:', ':punk:', ':punk2:', ':ring:', ':robot:', ':robotange:', ':roi:', ':roi2:', ':rouge:', ':salut:', ':seventiz:', ':sick:', ':siffle:', ':slajou:', ':smile:', ':smiley29:', ':snif:', ':sniff:', ':soleil:', ':taureau:', ':tongue2:', ':tusors:', ':unsure2:', ':vengeance:', ':winks:', '::', ':wouah:', ':x:', ':yeah:', ':yeah_baby:', ':yeepee:', ':yurk:', ':zibou:', ':zicgood:', ':zazoo:', ':zik:', ':zik2:', ':zik3:', ':zik4:', '::', '::', ':naaan:', ':3694:', ':bhouhou:', ':youpi:', ':3653:', ':saber:', ':fouet_2:', ':neutre_final:', ':deterrage:', ':dejarefuse:', ':bienjoue:', ':boulay:', ':jeplaidenoncoupable:', ':syn:', ':freeman:', ':euheh:', ':dort3pl:', ':nerd:', ':7966:', ':bluestorm1:', ':bluestorm2:', ':fouetaie:', ':enchaine:', ':narguile:', ':langue_002:', ':venerer:', ':love_002:', ':cut3647nerfs:', ':3630:', ':bibine:', ':3781:', ':3894:', ':3895:', ':3897:', ':4439:', ':4440:', ':3523:', ':3524:', ':3698:', ':15833:', ':15834:', ':15835:', ':15836:', ':15837:', ':15838:', ':15839:', ':15840:', ':15857:', ':15858:', ':15832:', ':marre0eb:', ':0:', ':1:', ':2:', ':3:', ':4:', ':5:', ':6:', ':7:', ':8:', ':9:', ':10:', ':papy:', ':chinois:', ':charte:', ':bigrin:', ':batman:', ':attention:', ':ange:', ':arf:', ':clown:', ':confiant:', ':content:', ':cool:', ':cool2:', ':cooool:', ':cowboy:', ':decu:', ':diable:', ':dontcare:', ':epee20centmodif:', ':erk:', ':fillette:', ':fleched:', ':gni:', ':grr:', ':grrr:', ':grucho:', ':gun:', ':hehe:', ':hihi:', ':hihi2:', ':hiver:', ':hum:', ':idee:', ':infirmiere:', ':langue:', ':love:', ':malade:', ':malade2:', ':mariee:', ':marin:', ':marrant:', ':mort:', ':mouais:', ':myope:', ':niark:', ':ninja:', ':nooo:', ':nuage:', ':o:', ':Oo:', ':ouin:', ':oups:', ':penseur:', ':pfff:', ':pirate:', ':punk:', ':punk2:', ':ring:', ':robot:', ':robotange:', ':roi:', ':roi2:', ':rouge:', ':salut:', ':seventiz:', ':sick:', ':siffle:', ':slajou:', ':smile:', ':smiley29:', ':snif:', ':sniff:', ':soleil:', ':taureau:', ':tongue2:', ':unsure2:', ':vengeance:', ':winks:', ':wouah:', ':x:', ':yeah:', ':yeah_baby:', ':zicgood:', ':zazoo:', ':zik:', ':zik2:', ':zik3:', ':zik4:', ':fouetbase:', ':tusors:', ':mdr:', ':yeepee:', ':yurk:', ':zibou:', ':naaan:', ':3694:', ':bhouhou:', ':youpi:', ':3653:', ':saber:', ':fouet_2:', ':neutre_final:', ':deterrage:', ':dejarefuse:', ':bienjoue:', ':boulay:', ':jeplaidenoncoupable:', ':ejisyn:', ':freeman:', ':euheh:', ':dort3pl:', ':ejinerd:', ':7966:', ':bluestorm1:', ':bluestorm2:', ':fouetaie:', ':enchaine:', ':narguile:', ':langue:', ':venerer:', ':love:', ':3647:', ':nerfs:', ':3630:', ':bibine:', ':3781:', ':3894:', ':3895:', ':3897:', ':4439:', ':4440:', ':3523:', ':3524:', ':3698:', ':15833:', ':15834:', ':15835:', ':15836:', ':15837:', ':15838:', ':15839:', ':15840:', ':15857:', ':15858:', ':15832:', ':marre0eb:', ':0:', ':1:', ':2:', ':3:', ':4:', ':5:', ':6:', ':7:', ':8:', ':9:', ':10:');
	$ulr_smiliey  = array('angry.gif', 'diable.png', 'ange.png', 'ninja.png', 'pinch.png', 'pirate.png', 'zorro.png', 'rouge.png', 'soleil.png', 'pleure.png', 'waw.png', 'smile.png', 'heureux.png', 'clin.png', 'langue.png', 'rire.gif', 'unsure.gif', 'triste.png', 'huh.png', 'mechant.png', 'blink.gif', 'hihi.png', 'siffle.png', 'chinois.gif', 'charte.gif', 'bigrin.gif', 'batman.gif', 'attention.gif', 'ange.gif', 'arf.gif', 'clown.gif', 'confiant.gif', 'content.gif', 'cool.gif', 'cool2.gif', 'cooool.gif', 'cowboy.gif', 'decu.gif', 'diable.gif', 'dontcare.gif', 'epee20centmodif.gif', 'erk.gif', 'fillette.gif', 'fleched.gif', 'fouetbase.gif', 'gni.gif', 'grr.gif', 'grrr.gif', 'grucho.gif', 'gun.gif', 'hehe.gif', 'hihi.gif', 'hihi2.gif', 'hiver.gif', 'hum.gif', 'idee.gif', 'infirmiere.gif', 'langue.gif', 'love.gif', 'malade.gif', 'malade2.gif', 'mariee.gif', 'marin.gif', 'marrant.gif', 'mdr.gif', 'mort.gif', 'mouais.gif', 'myope.gif', 'niark.gif', 'ninja.gif', 'nooo.gif', 'nuage.gif', 'o.gif', 'Oo.gif', 'ouin.gif', 'oups.gif', 'penseur.gif', 'pfff.gif', 'pirate.gif', 'punk.gif', 'punk2.gif', 'ring.gif', 'robot.gif', 'robotange.gif', 'roi.gif', 'roi2.gif', 'rouge.gif', 'salut.gif', 'seventiz.gif', 'sick.gif', 'siffle.gif', 'slajou.gif', 'smile.gif', 'smiley29.gif', 'snif.gif', 'sniff.gif', 'soleil.gif', 'taureau.gif', 'tongue2.gif', 'tusors.gif', 'unsure2.gif', 'vengeance.gif', 'winks.gif', '.gif', 'wouah.gif', 'x.gif', 'yeah.gif', 'yeah_baby.gif', 'yeepee.gif', 'yurk.gif', 'zibou.gif', 'zicgood.gif', 'zazoo.gif', 'zik.gif', 'zik2.gif', 'zik3.gif', 'zik4.gif', '.gif', '.gif', 'naaan.gif', '3694.gif', 'bhouhou.gif', 'youpi.gif', '3653.gif', 'saber.gif', 'fouet_2.gif', 'neutre_final.gif', 'deterrage.gif', 'dejarefuse.gif', 'bienjoue.gif', 'boulay.gif', 'jeplaidenoncoupable.gif', 'syn.gif', 'freeman.gif', 'euheh.gif', 'dort3pl.gif', 'nerd.gif', '7966.gif', 'bluestorm1.gif', 'bluestorm2.gif', 'fouetaie.gif', 'enchaine.gif', 'narguile.gif', 'langue_002.gif', 'venerer.gif', 'love_002.gif', 'cut3647nerfs.gif', '3630.png', 'bibine.png', '3781.gif', '3894.gif', '3895.gif', '3897.gif', '4439.gif', '4440.png', '3523.gif', '3524.gif', '3698.gif', '15833.gif', '15834.gif', '15835.gif', '15836.gif', '15837.gif', '15838.gif', '15839.gif', '15840.gif', '15857.gif', '15858.gif', '15832.gif', 'marre0eb.gif', '0.gif', '1.gif', '2.gif', '3.gif', '4.gif', '5.gif', '6.gif', '7.gif', '8.gif', '9.gif', '10.gif', 'papy.gif', 'chinois.gif', 'charte.gif', 'bigrin.gif', 'batman.gif', 'attention.gif', 'ange.gif', 'arf.gif', 'clown.gif', 'confiant.gif', 'content.gif', 'cool.gif', 'cool2.gif', 'cooool.gif', 'cowboy.gif', 'decu.gif', 'diable.gif', 'dontcare.gif', 'epee20centmodif.gif', 'erk.gif', 'fillette.gif', 'fleched.gif', 'gni.gif', 'grr.gif', 'grrr.gif', 'grucho.gif', 'gun.gif', 'hehe.gif', 'hihi.gif', 'hihi2.gif', 'hiver.gif', 'hum.gif', 'idee.gif', 'infirmiere.gif', 'langue.gif', 'love.gif', 'malade.gif', 'malade2.gif', 'mariee.gif', 'marin.gif', 'marrant.gif', 'mort.gif', 'mouais.gif', 'myope.gif', 'niark.gif', 'ninja.gif', 'nooo.gif', 'nuage.gif', 'o.gif', 'Oo.gif', 'ouin.gif', 'oups.gif', 'penseur.gif', 'pfff.gif', 'pirate.gif', 'punk.gif', 'punk2.gif', 'ring.gif', 'robot.gif', 'robotange.gif', 'roi.gif', 'roi2.gif', 'rouge.gif', 'salut.gif', 'seventiz.gif', 'sick.gif', 'siffle.gif', 'slajou.gif', 'smile.gif', 'smiley29.gif', 'snif.gif', 'sniff.gif', 'soleil.gif', 'taureau.gif', 'tongue2.gif', 'unsure2.gif', 'vengeance.gif', 'winks.gif', 'wouah.gif', 'x.gif', 'yeah.gif', 'yeah_baby.gif', 'zicgood.gif', 'zazoo.gif', 'zik.gif', 'zik2.gif', 'zik3.gif', 'zik4.gif', 'fouetbase.gif', 'tusors.gif', 'mdr.gif', + 'yeepee.gif', 'yurk.gif', 'zibou.gif', 'naaan.gif', '3694.gif', 'bhouhou.gif', 'youpi.gif', '3653.gif', 'saber.gif', 'fouet_2.gif', 'neutre_final.gif', 'deterrage.gif', 'dejarefuse.gif', 'bienjoue.gif', 'boulay.gif', 'jeplaidenoncoupable.gif', 'syn.gif', 'freeman.gif', 'euheh.gif', 'dort3pl.gif', 'nerd.gif', '7966.gif', 'bluestorm1.gif', 'bluestorm2.gif', 'fouetaie.gif', 'enchaine.gif', 'narguile.gif', 'langue_002.gif', 'venerer.gif', 'love_002.gif', '3647.gif', 'nerfs.gif', '3630.png', 'bibine.png', '3781.gif', '3894.gif', '3895.gif', '3897.gif', '4439.gif', '4440.png', '3523.gif', '3524.gif', '3698.gif', '15833.gif', '15834.gif', '15835.gif', '15836.gif', '15837.gif', '15838.gif', '15839.gif', '15840.gif', '15857.gif', '15858.gif', '15832.gif', 'marre0eb.gif','0.gif', '1.gif', '2.gif', '3.gif', '4.gif', '5.gif', '6.gif', '7.gif', '8.gif', '9.gif', '10.gif');
	$dossier_smiliey = '/editeur/images/smilies/';
	
	for ($i = 0, $c = count($nom_smiliey); $i < $c; $i++) {
		$contenu = preg_replace('`' . $nom_smiliey[$i] . '`isU', '<img src="' . $dossier_smiliey . $ulr_smiliey[$i] . '" alt="smiley" />', $contenu);
	}
	
	// Rtours à la ligne
	$contenu = preg_replace('`\n`isU', '<br />', $contenu); 
	
	return $contenu;
}

//***** Fontions utilisant la base de données *****//

function connecter() { // Le nombre de connectés au site
	global $bdd;
	// ETAPE 1 : on vérifie si l'IP se trouve déjà dans la table
	// Pour faire ça, on n'a qu'à  compter le nombre d'entrées dont le champ "ip" est l'adresse ip du visiteur
	$req = $bdd->prepare('SELECT COUNT(*) AS nbre_entrees FROM planetside2_connectes WHERE ip= :ip ');
	$req->execute(array(
		'ip' => $_SERVER['REMOTE_ADDR']
		));
	$donnees = $req->fetch();

	if ($donnees['nbre_entrees'] == 0) // L'ip ne se trouve pas dans la table, on va l'ajouter
	{
		if(!empty($_SESSION['login']))
		{
			$req = $bdd->prepare('INSERT INTO planetside2_connectes VALUES(:ip, :time, :login)');
			$req->execute(array(
				'ip' => $_SERVER['REMOTE_ADDR'],
				'time' => time(),
				'login' => $_SESSION['login']
				));
		}
		else
		{
			$req = $bdd->prepare('INSERT INTO planetside2_connectes VALUES(:ip, :time, :login)');
			$req->execute(array(
				'ip' => $_SERVER['REMOTE_ADDR'],
				'time' => time(),
				'login' => "visiteur"
				));
		}
	}
	else // L'ip se trouve déjà dans la table, on met juste à  jour le timestamp
	{
		$req = $bdd->prepare('UPDATE planetside2_connectes SET timestamp = :time WHERE ip = :ip');
		$req->execute(array(
			'time' => time(),
			'ip' => $_SERVER['REMOTE_ADDR']
			));
	}

	// ETAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 5 minutes
	// On stocke dans une variable le timestamp qu'il était il y a 5 minutes :
	$timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes
	$req = $bdd->prepare('DELETE FROM planetside2_connectes WHERE timestamp < :timestamp_5min ');
	$req->execute(array(
		'timestamp_5min' => $timestamp_5min
		));

	// ETAPE 3 : on compte le nombre d'ip stockées dans la table. C'est le nombre de visiteurs connectés
	$req = $bdd->query('SELECT COUNT(*) AS nbre_entrees FROM planetside2_connectes');
	$donnees = $req->fetch();
	
	// On n'a plus qu'à  afficher le nombre de connectés !
	return $donnees['nbre_entrees'];
}

function visite() { //recherche le nombre de visite.

	$reponse = $bdd->query('SELECT * FROM planetside2_compteur WHERE id = 1');
	$donnees_comptevisite = $reponse->fetch();
	
	return $donnees_comptevisite;
}